﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<LobSystem xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog BDCMetadata.xsd" Type="Database" Version="1.0.2.0" Name="AdventureWorksDW" xmlns="http://schemas.microsoft.com/office/2006/03/BusinessDataCatalog">
  <Properties>
    <Property Name="WildcardCharacter" Type="System.String">%</Property>
  </Properties>
  <LobSystemInstances>
    <LobSystemInstance Name="AdventureWorksDWInstance">
      <Properties>
        <Property Name="AuthenticationMode" Type="Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbAuthenticationMode">PassThrough</Property>
        <Property Name="DatabaseAccessProvider" Type="Microsoft.Office.Server.ApplicationRegistry.SystemSpecific.Db.DbAccessProvider">SqlServer</Property>
        <Property Name="RdbConnection Data Source" Type="System.String">cbbspdevw</Property>
        <Property Name="RdbConnection Initial Catalog" Type="System.String">AdventureWorksDW</Property>
        <Property Name="RdbConnection Integrated Security" Type="System.String"></Property>
        <Property Name="RdbConnection Pooling" Type="System.String">False</Property>
        <Property Name="RdbConnection User ID" Type="System.String">sa</Property>
        <Property Name="RdbConnection Password" Type="System.String">sql-server-123</Property>
      </Properties>
    </LobSystemInstance>
  </LobSystemInstances>
  <Entities>
    <Entity EstimatedInstanceCount="10000" Name="Product">
      <Properties>
        <Property Name="Title" Type="System.String">EnglishProductName</Property>
        <Property Name="DefaultAction" Type="System.String">View Profile</Property>
      </Properties>
      <Identifiers>
        <Identifier TypeName="System.Int32" Name="ProductKey" />
      </Identifiers>
      <Methods>
        <Method Name="GetProducts">
          <Properties>
            <Property Name="RdbCommandText" Type="System.String">SELECT * FROM DimProduct WHERE (ProductKey &gt;= @MinProductKey) AND (ProductKey &lt;= @MaxProductKey) AND (EnglishProductName LIKE @EnglishProductName) AND (EnglishDescription LIKE @EnglishDescription) AND (Status='Current')</Property>
            <Property Name="RdbCommandType" Type="System.Data.CommandType, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">Text</Property>
          </Properties>
          <FilterDescriptors>
            <FilterDescriptor Type="Comparison" Name="Key">
              <Properties>
                <Property Name="Comparator" Type="System.String">Equals</Property>
              </Properties>
            </FilterDescriptor>
            <FilterDescriptor Type="Wildcard" Name="Name">
              <Properties>
                <Property Name="UsedForDisambiguation" Type="System.Boolean">true</Property>
              </Properties>
            </FilterDescriptor>
            <FilterDescriptor Type="Wildcard" Name="Description" />
          </FilterDescriptors>
          <Parameters>
            <Parameter Direction="In" Name="@MinProductKey">
              <TypeDescriptor TypeName="System.Int32" IdentifierName="ProductKey" AssociatedFilter="Key" Name="MinProductKey">
                <DefaultValues>
                  <DefaultValue MethodInstanceName="ProductFinderInstance" Type="System.Int32">0</DefaultValue>
                </DefaultValues>
              </TypeDescriptor>
            </Parameter>
            <Parameter Direction="In" Name="@MaxProductKey">
              <TypeDescriptor TypeName="System.Int32" IdentifierName="ProductKey" AssociatedFilter="Key" Name="MaxProductKey">
                <DefaultValues>
                  <DefaultValue MethodInstanceName="ProductFinderInstance" Type="System.Int32">99999999</DefaultValue>
                </DefaultValues>
              </TypeDescriptor>
            </Parameter>
            <Parameter Direction="In" Name="@EnglishProductName">
              <TypeDescriptor TypeName="System.String" AssociatedFilter="Name" Name="EnglishProductName">
                <DefaultValues>
                  <DefaultValue MethodInstanceName="ProductFinderInstance" Type="System.String">%</DefaultValue>
                  <DefaultValue MethodInstanceName="ProductSpecificFinderInstance" Type="System.String">%</DefaultValue>
                </DefaultValues>
              </TypeDescriptor>
            </Parameter>
            <Parameter Direction="In" Name="@EnglishDescription">
              <TypeDescriptor TypeName="System.String" AssociatedFilter="Description" Name="EnglishDescription">
                <DefaultValues>
                  <DefaultValue MethodInstanceName="ProductFinderInstance" Type="System.String">%</DefaultValue>
                  <DefaultValue MethodInstanceName="ProductSpecificFinderInstance" Type="System.String">%</DefaultValue>
                </DefaultValues>
              </TypeDescriptor>
            </Parameter>
            <Parameter Direction="Return" Name="Products">
              <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="ProductDataReader">
                <TypeDescriptors>
                  <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="ProductDataRecord">
                    <TypeDescriptors>
                      <TypeDescriptor TypeName="System.Int32" IdentifierName="ProductKey" Name="ProductKey">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Key</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="EnglishProductName">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Name</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                        <Properties>
                          <Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
                        </Properties>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="EnglishDescription">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Description</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                        <Properties>
                          <Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
                        </Properties>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.Decimal" Name="ListPrice">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">List Price</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.Decimal" Name="StandardCost">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Standard Cost</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="Color">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Color</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="Size">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Size</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="Class">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Class</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.Int32" Name="DaysToManufacture">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Days To Manufacture</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                    </TypeDescriptors>
                  </TypeDescriptor>
                </TypeDescriptors>
              </TypeDescriptor>
            </Parameter>
          </Parameters>
          <MethodInstances>
            <MethodInstance Type="Finder" ReturnParameterName="Products" ReturnTypeDescriptorName="ProductDataReader" ReturnTypeDescriptorLevel="0" Name="ProductFinderInstance" />
            <MethodInstance Type="SpecificFinder" ReturnParameterName="Products" ReturnTypeDescriptorName="ProductDataReader" ReturnTypeDescriptorLevel="0" Name="ProductSpecificFinderInstance" />
          </MethodInstances>
        </Method>
      </Methods>
    </Entity>
    <Entity EstimatedInstanceCount="1000" Name="Reseller">
      <Properties>
        <Property Name="__BdcTitle" Type="System.String">ResellerName</Property>
        <Property Name="Title" Type="System.String">ResellerName</Property>
        <Property Name="DefaultAction" Type="System.String">View Profile</Property>
      </Properties>
      <Identifiers>
        <Identifier TypeName="System.Int32" Name="ResellerKey" />
      </Identifiers>
      <Methods>
        <Method Name="ResellerIDEnumerator">
          <Properties>
            <Property Name="RdbCommandText" Type="System.String">SELECT ResellerKey FROM DimReseller</Property>
            <Property Name="RdbCommandType" Type="System.Data.CommandType, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">Text</Property>
          </Properties>
          <Parameters>
            <Parameter Direction="Return" Name="Resellers">
              <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="ResellerDataReader">
                <TypeDescriptors>
                  <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="ResellerDataRecord">
                    <TypeDescriptors>
                      <TypeDescriptor TypeName="System.Int32" IdentifierName="ResellerKey" Name="ResellerKey" />
                    </TypeDescriptors>
                  </TypeDescriptor>
                </TypeDescriptors>
              </TypeDescriptor>
            </Parameter>
          </Parameters>
          <MethodInstances>
            <MethodInstance Type="IdEnumerator" ReturnParameterName="Resellers" ReturnTypeDescriptorName="ResellerDataReader" ReturnTypeDescriptorLevel="0" Name="ResellerIDEnumeratorInstance" />
          </MethodInstances>
        </Method>
        <Method Name="ResellerFinder">
          <Properties>
            <Property Name="RdbCommandText" Type="System.String">
              SELECT ResellerKey,DimReseller.GeographyKey,ResellerAlternateKey,Phone,BusinessType,
              ResellerName,NumberEmployees,OrderFrequency,FirstOrderYear,LastOrderYear,ProductLine,
              AddressLine1,AddressLine2,AnnualSales,BankName,MinPaymentAmount,AnnualRevenue,YearOpened,
              City,StateProvinceCode,StateProvinceName,CountryRegionCode,EnglishCountryRegionName,PostalCode
              FROM DimReseller INNER JOIN DimGeography 
              ON DimReseller.GeographyKey = DimGeography.GeographyKey 
              WHERE (ResellerKey &gt;= @MinResellerKey) AND (ResellerKey &lt;= @MaxResellerKey) AND (ResellerName LIKE @ResellerName)
              </Property>
            <Property Name="RdbCommandType" Type="System.Data.CommandType, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">Text</Property>
          </Properties>
          <FilterDescriptors>
            <FilterDescriptor Type="Wildcard" Name="Name">
              <Properties>
                <Property Name="UsedForDisambiguation" Type="System.Boolean">true</Property>
              </Properties>
            </FilterDescriptor>
            <FilterDescriptor Type="Comparison" Name="Key">
              <Properties>
                <Property Name="Comparator" Type="System.String">Equals</Property>
              </Properties>
            </FilterDescriptor>
          </FilterDescriptors>
          <Parameters>
            <Parameter Direction="In" Name="@MinResellerKey">
              <TypeDescriptor TypeName="System.Int32" IdentifierName="ResellerKey" AssociatedFilter="Key" Name="MinResellerKey">
                <DefaultValues>
                  <DefaultValue MethodInstanceName="ResellerFinderInstance" Type="System.Int32">0</DefaultValue>
                  <DefaultValue MethodInstanceName="ResellerSpecificFinderInstance" Type="System.Int32">0</DefaultValue>
                </DefaultValues>
              </TypeDescriptor>
            </Parameter>
            <Parameter Direction="In" Name="@MaxResellerKey">
              <TypeDescriptor TypeName="System.Int32" IdentifierName="ResellerKey" AssociatedFilter="Key" Name="MaxResellerKey">
                <DefaultValues>
                  <DefaultValue MethodInstanceName="ResellerFinderInstance" Type="System.Int32">9999999</DefaultValue>
                  <DefaultValue MethodInstanceName="ResellerSpecificFinderInstance" Type="System.Int32">9999999</DefaultValue>
                </DefaultValues>
              </TypeDescriptor>
            </Parameter>
            <Parameter Direction="In" Name="@ResellerName">
              <TypeDescriptor TypeName="System.String" AssociatedFilter="Name" Name="ResellerName">
                <DefaultValues>
                  <DefaultValue MethodInstanceName="ResellerFinderInstance" Type="System.String">%</DefaultValue>
                  <DefaultValue MethodInstanceName="ResellerSpecificFinderInstance" Type="System.String">%</DefaultValue>
                </DefaultValues>
              </TypeDescriptor>
            </Parameter>
            <Parameter Direction="Return" Name="Resellers">
              <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="Resellers">
                <TypeDescriptors>
                  <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="Reseller">
                    <TypeDescriptors>
                      <TypeDescriptor TypeName="System.Int32" IdentifierName="ResellerKey" Name="ResellerKey">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Number</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                        <Properties>
                          <Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
                        </Properties>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="Phone">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Phone</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="BusinessType">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Business Type</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                        <Properties>
                          <Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
                        </Properties>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="ResellerName">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Name</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                        <Properties>
                          <Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
                        </Properties>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.Int32" Name="NumberEmployees">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Employees</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="OrderFrequency">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Order Frequency</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.Int32" Name="FirstOrderYear">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">First Order Year</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.Int32" Name="LastOrderYear">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Last Order Year</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="ProductLine">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Product Line</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="AddressLine1">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Address Line 1</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="AddressLine2">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Address Line 2</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.Decimal" Name="AnnualSales">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Annual Sales</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="BankName">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Bank Name</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.Decimal" Name="MinPaymentAmount">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Minimum Payment Amount</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.Decimal" Name="AnnualRevenue">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Annual Revenue</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.Int32" Name="YearOpened">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Year Opened</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="City">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">City</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="StateProvinceCode">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">State/Province Code</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="StateProvinceName">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">State/Province</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                        <Properties>
                          <Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
                        </Properties>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="CountryRegionCode">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Country/Region Code</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="EnglishCountryRegionName">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Country/Region</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                        <Properties>
                          <Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
                        </Properties>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="PostalCode">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Postal Code</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                    </TypeDescriptors>
                  </TypeDescriptor>
                </TypeDescriptors>
              </TypeDescriptor>
            </Parameter>
          </Parameters>
          <MethodInstances>
            <MethodInstance Type="Finder" ReturnParameterName="Resellers" ReturnTypeDescriptorName="Resellers" ReturnTypeDescriptorLevel="0" Name="ResellerFinderInstance" />
            <MethodInstance Type="SpecificFinder" ReturnParameterName="Resellers" ReturnTypeDescriptorName="Resellers" ReturnTypeDescriptorLevel="0" Name="ResellerSpecificFinderInstance" />
          </MethodInstances>
        </Method>
      </Methods>
    </Entity>
    <Entity EstimatedInstanceCount="10000" Name="DimCurrency">
      <Identifiers>
        <Identifier TypeName="System.Int32" Name="CurrencyKey" />
      </Identifiers>
      <Methods>
        <Method Name="Find_DimCurrency">
          <Properties>
            <Property Name="RdbCommandType" Type="System.Data.CommandType, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">Text</Property>
            <Property Name="RdbCommandText" Type="System.String">Select "CurrencyKey","CurrencyAlternateKey","CurrencyName" from  DimCurrency where CurrencyKey=@CurrencyKey</Property>
          </Properties>
          <Parameters>
            <Parameter Direction="In" Name="@CurrencyKey">
              <TypeDescriptor TypeName="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IdentifierName="CurrencyKey" Name="CurrencyKey" />
            </Parameter>
            <Parameter Direction="Return" Name="@DimCurrency">
              <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="Reader">
                <TypeDescriptors>
                  <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="Record">
                    <TypeDescriptors>
                      <TypeDescriptor TypeName="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IdentifierName="CurrencyKey" Name="CurrencyKey" />
                      <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="CurrencyAlternateKey" />
                      <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="CurrencyName" />
                    </TypeDescriptors>
                  </TypeDescriptor>
                </TypeDescriptors>
              </TypeDescriptor>
            </Parameter>
          </Parameters>
          <MethodInstances>
            <MethodInstance Type="SpecificFinder" ReturnParameterName="@DimCurrency" ReturnTypeDescriptorName="Reader" ReturnTypeDescriptorLevel="0" Name="Find_DimCurrency_Instance" />
          </MethodInstances>
        </Method>
        <Method Name="FindAll_DimCurrency">
          <Properties>
            <Property Name="RdbCommandType" Type="System.Data.CommandType, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">Text</Property>
            <Property Name="RdbCommandText" Type="System.String">Select "CurrencyKey" from  DimCurrency</Property>
          </Properties>
          <Parameters>
            <Parameter Direction="Return" Name="@DimCurrency">
              <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="Reader">
                <TypeDescriptors>
                  <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="Record">
                    <TypeDescriptors>
                      <TypeDescriptor TypeName="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IdentifierName="CurrencyKey" Name="CurrencyKey" />
                    </TypeDescriptors>
                  </TypeDescriptor>
                </TypeDescriptors>
              </TypeDescriptor>
            </Parameter>
          </Parameters>
          <MethodInstances>
            <MethodInstance Type="IdEnumerator" ReturnParameterName="@DimCurrency" ReturnTypeDescriptorName="Reader" ReturnTypeDescriptorLevel="0" Name="FindAll_DimCurrency_Instance" />
          </MethodInstances>
        </Method>
        <Method Name="GetAll_DimCurrency">
          <Properties>
            <Property Name="RdbCommandText" Type="System.String">Select CurrencyKey
,CurrencyAlternateKey
,CurrencyName
FROM DimCurrency
ORDER BY CurrencyKey Desc</Property>
            <Property Name="RdbCommandType" Type="System.Data.CommandType, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">Text</Property>
          </Properties>
          <Parameters>
            <Parameter Direction="Return" Name="@DimCurrency">
              <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="Reader">
                <TypeDescriptors>
                  <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="Record">
                    <TypeDescriptors>
                      <TypeDescriptor TypeName="System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IdentifierName="CurrencyKey" Name="CurrencyKey" />
                      <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="CurrencyAlternateKey" />
                      <TypeDescriptor TypeName="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="CurrencyName" />
                    </TypeDescriptors>
                  </TypeDescriptor>
                </TypeDescriptors>
              </TypeDescriptor>
            </Parameter>
          </Parameters>
          <MethodInstances>
            <MethodInstance Type="Finder" ReturnParameterName="@DimCurrency" ReturnTypeDescriptorName="Reader" ReturnTypeDescriptorLevel="0" Name="Finder_DimCurrency_Instance" />
          </MethodInstances>
        </Method>
        <Method Name="Insert_DimCurrency">
          <Properties>
            <Property Name="RdbCommandText" Type="System.String">INSERT INTO DimCurrency (CurrencyAlternateKey, CurrencyName) VALUES (@CurrencyAlternateKey, @CurrencyName)</Property>
            <Property Name="RdbCommandType" Type="System.Data.CommandType, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">Text</Property>
          </Properties>
          <Parameters>
            <Parameter Direction="In" Name="@CurrencyAlternateKey">
              <TypeDescriptor TypeName="System.String" Name="CurrencyAlternateKey" />
            </Parameter>
            <Parameter Direction="In" Name="@CurrencyName">
              <TypeDescriptor TypeName="System.String" Name="CurrencyName" />
            </Parameter>
            <Parameter Direction="Return" Name="DimCurrency_DummyReturnParam">
              <TypeDescriptor TypeName="System.Int32" Name="DimCurrency_DummyReturnParam" />
            </Parameter>
          </Parameters>
          <MethodInstances>
            <MethodInstance Type="GenericInvoker" ReturnParameterName="DimCurrency_DummyReturnParam" ReturnTypeDescriptorName="DimCurrency_DummyReturnParam" ReturnTypeDescriptorLevel="0" Name="Insert_DimCurrency_Instance" />
          </MethodInstances>
        </Method>
      </Methods>
    </Entity>
    <Entity EstimatedInstanceCount="10000" Name="ProductSubcategory">
      <LocalizedDisplayNames>
        <LocalizedDisplayName LCID="1033">Product Subcategory</LocalizedDisplayName>
      </LocalizedDisplayNames>
      <Properties>
        <Property Name="Title" Type="System.String">EnglishProductSubcategoryName</Property>
        <Property Name="DefaultAction" Type="System.String">View Profile</Property>
      </Properties>
      <Identifiers>
        <Identifier TypeName="System.Int32" Name="ProductSubcategoryKey" />
      </Identifiers>
      <Methods>
        <Method Name="GetProductSubcategories">
          <Properties>
            <Property Name="RdbCommandText" Type="System.String">SELECT * FROM DimProductSubcategory WHERE (ProductSubcategoryKey &gt;= @MinProductSubcategoryKey) AND (ProductSubcategoryKey &lt;= @MaxProductSubcategoryKey) AND (EnglishProductSubcategoryName LIKE @EnglishProductSubcategoryName)</Property>
            <Property Name="RdbCommandType" Type="System.Data.CommandType, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">Text</Property>
          </Properties>
          <FilterDescriptors>
            <FilterDescriptor Type="Comparison" Name="Key">
              <Properties>
                <Property Name="Comparator" Type="System.String">Equals</Property>
              </Properties>
            </FilterDescriptor>
            <FilterDescriptor Type="Wildcard" Name="Name">
              <Properties>
                <Property Name="UsedForDisambiguation" Type="System.Boolean">true</Property>
              </Properties>
            </FilterDescriptor>
          </FilterDescriptors>
          <Parameters>
            <Parameter Direction="In" Name="@MinProductSubcategoryKey">
              <TypeDescriptor TypeName="System.Int32" IdentifierName="ProductSubcategoryKey" AssociatedFilter="Key" Name="MinProductSubcategoryKey">
                <DefaultValues>
                  <DefaultValue MethodInstanceName="ProductSubcategoryFinderInstance" Type="System.Int32">0</DefaultValue>
                </DefaultValues>
              </TypeDescriptor>
            </Parameter>
            <Parameter Direction="In" Name="@MaxProductSubcategoryKey">
              <TypeDescriptor TypeName="System.Int32" IdentifierName="ProductSubcategoryKey" AssociatedFilter="Key" Name="MaxProductSubcategoryKey">
                <DefaultValues>
                  <DefaultValue MethodInstanceName="ProductSubcategoryFinderInstance" Type="System.Int32">99999999</DefaultValue>
                </DefaultValues>
              </TypeDescriptor>
            </Parameter>
            <Parameter Direction="In" Name="@EnglishProductSubcategoryName">
              <TypeDescriptor TypeName="System.String" AssociatedFilter="Name" Name="EnglishProductSubcategoryName">
                <DefaultValues>
                  <DefaultValue MethodInstanceName="ProductSubcategoryFinderInstance" Type="System.String">%</DefaultValue>
                  <DefaultValue MethodInstanceName="ProductSubcategorySpecificFinderInstance" Type="System.String">%</DefaultValue>
                </DefaultValues>
              </TypeDescriptor>
            </Parameter>
            <Parameter Direction="Return" Name="ProductSubcategories">
              <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="ProductSubcategoryDataReader">
                <TypeDescriptors>
                  <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="ProductSubcategoryDataRecord">
                    <TypeDescriptors>
                      <TypeDescriptor TypeName="System.Int32" IdentifierName="ProductSubcategoryKey" Name="ProductSubcategoryKey">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Key</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="EnglishProductSubcategoryName">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Name</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                        <Properties>
                          <Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
                        </Properties>
                      </TypeDescriptor>
                    </TypeDescriptors>
                  </TypeDescriptor>
                </TypeDescriptors>
              </TypeDescriptor>
            </Parameter>
          </Parameters>
          <MethodInstances>
            <MethodInstance Type="Finder" ReturnParameterName="ProductSubcategories" ReturnTypeDescriptorName="ProductSubcategoryDataReader" ReturnTypeDescriptorLevel="0" Name="ProductSubcategoryFinderInstance" />
            <MethodInstance Type="SpecificFinder" ReturnParameterName="ProductSubcategories" ReturnTypeDescriptorName="ProductSubcategoryDataReader" ReturnTypeDescriptorLevel="0" Name="ProductSubcategorySpecificFinderInstance" />
          </MethodInstances>
        </Method>
        <Method Name="GetProducts">
          <Properties>
            <Property Name="RdbCommandText" Type="System.String">SELECT * FROM DimProduct WHERE ProductSubcategoryKey = @ProductSubcategoryKey AND Status = 'Current'</Property>
            <Property Name="RdbCommandType" Type="System.Data.CommandType, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">Text</Property>
          </Properties>
          <Parameters>
            <Parameter Direction="In" Name="@ProductSubcategoryKey">
              <TypeDescriptor TypeName="System.Int32" IdentifierName="ProductSubcategoryKey" Name="ProductSubcategoryKey" />
            </Parameter>
            <Parameter Direction="Return" Name="Products">
              <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="ProductDataReader">
                <TypeDescriptors>
                  <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="ProductDataRecord">
                    <TypeDescriptors>
                      <TypeDescriptor TypeName="System.Int32" IdentifierEntityName="Product" IdentifierName="ProductKey" Name="ProductKey">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Key</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="EnglishProductName">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Name</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                        <Properties>
                          <Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
                        </Properties>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="EnglishDescription">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Description</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                        <Properties>
                          <Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
                        </Properties>
                      </TypeDescriptor>
                    </TypeDescriptors>
                  </TypeDescriptor>
                </TypeDescriptors>
              </TypeDescriptor>
            </Parameter>
          </Parameters>
        </Method>
      </Methods>
    </Entity>
    <Entity EstimatedInstanceCount="10000" Name="ProductCategory">
      <LocalizedDisplayNames>
        <LocalizedDisplayName LCID="1033">Product Category</LocalizedDisplayName>
      </LocalizedDisplayNames>
      <Properties>
        <Property Name="Title" Type="System.String">EnglishProductCategoryName</Property>
        <Property Name="DefaultAction" Type="System.String">View Profile</Property>
      </Properties>
      <Identifiers>
        <Identifier TypeName="System.Int32" Name="ProductCategoryKey" />
      </Identifiers>
      <Methods>
        <Method Name="GetProductCategories">
          <Properties>
            <Property Name="RdbCommandText" Type="System.String">SELECT * FROM DimProductCategory WHERE (ProductCategoryKey &gt;= @MinProductCategoryKey) AND (ProductCategoryKey &lt;= @MaxProductCategoryKey) AND (EnglishProductCategoryName LIKE @EnglishProductCategoryName)</Property>
            <Property Name="RdbCommandType" Type="System.Data.CommandType, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">Text</Property>
          </Properties>
          <FilterDescriptors>
            <FilterDescriptor Type="Comparison" Name="Key">
              <Properties>
                <Property Name="Comparator" Type="System.String">Equals</Property>
              </Properties>
            </FilterDescriptor>
            <FilterDescriptor Type="Wildcard" Name="Name">
              <Properties>
                <Property Name="UsedForDisambiguation" Type="System.Boolean">true</Property>
              </Properties>
            </FilterDescriptor>
          </FilterDescriptors>
          <Parameters>
            <Parameter Direction="In" Name="@MinProductCategoryKey">
              <TypeDescriptor TypeName="System.Int32" IdentifierName="ProductCategoryKey" AssociatedFilter="Key" Name="MinProductCategoryKey">
                <DefaultValues>
                  <DefaultValue MethodInstanceName="ProductCategoryFinderInstance" Type="System.Int32">0</DefaultValue>
                </DefaultValues>
              </TypeDescriptor>
            </Parameter>
            <Parameter Direction="In" Name="@MaxProductCategoryKey">
              <TypeDescriptor TypeName="System.Int32" IdentifierName="ProductCategoryKey" AssociatedFilter="Key" Name="MaxProductCategoryKey">
                <DefaultValues>
                  <DefaultValue MethodInstanceName="ProductCategoryFinderInstance" Type="System.Int32">99999999</DefaultValue>
                </DefaultValues>
              </TypeDescriptor>
            </Parameter>
            <Parameter Direction="In" Name="@EnglishProductCategoryName">
              <TypeDescriptor TypeName="System.String" AssociatedFilter="Name" Name="EnglishProductCategoryName">
                <DefaultValues>
                  <DefaultValue MethodInstanceName="ProductCategoryFinderInstance" Type="System.String">%</DefaultValue>
                  <DefaultValue MethodInstanceName="ProductCategorySpecificFinderInstance" Type="System.String">%</DefaultValue>
                </DefaultValues>
              </TypeDescriptor>
            </Parameter>
            <Parameter Direction="Return" Name="ProductCategories">
              <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="ProductCategoryDataReader">
                <TypeDescriptors>
                  <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="ProductCategoryDataRecord">
                    <TypeDescriptors>
                      <TypeDescriptor TypeName="System.Int32" IdentifierName="ProductCategoryKey" Name="ProductCategoryKey">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Key</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="EnglishProductCategoryName">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Name</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                        <Properties>
                          <Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
                        </Properties>
                      </TypeDescriptor>
                    </TypeDescriptors>
                  </TypeDescriptor>
                </TypeDescriptors>
              </TypeDescriptor>
            </Parameter>
          </Parameters>
          <MethodInstances>
            <MethodInstance Type="Finder" ReturnParameterName="ProductCategories" ReturnTypeDescriptorName="ProductCategoryDataReader" ReturnTypeDescriptorLevel="0" Name="ProductCategoryFinderInstance" />
            <MethodInstance Type="SpecificFinder" ReturnParameterName="ProductCategories" ReturnTypeDescriptorName="ProductCategoryDataReader" ReturnTypeDescriptorLevel="0" Name="ProductCategorySpecificFinderInstance" />
          </MethodInstances>
        </Method>
        <Method Name="GetProductSubcategories">
          <Properties>
            <Property Name="RdbCommandText" Type="System.String">SELECT * FROM DimProductSubcategory WHERE ProductCategoryKey = @ProductCategoryKey</Property>
            <Property Name="RdbCommandType" Type="System.Data.CommandType, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">Text</Property>
          </Properties>
          <Parameters>
            <Parameter Direction="In" Name="@ProductCategoryKey">
              <TypeDescriptor TypeName="System.Int32" IdentifierName="ProductCategoryKey" Name="ProductCategoryKey" />
            </Parameter>
            <Parameter Direction="Return" Name="ProductSubcategories">
              <TypeDescriptor TypeName="System.Data.IDataReader, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" IsCollection="true" Name="ProductSubcategoryDataReader">
                <TypeDescriptors>
                  <TypeDescriptor TypeName="System.Data.IDataRecord, System.Data, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" Name="ProductSubcategoryDataRecord">
                    <TypeDescriptors>
                      <TypeDescriptor TypeName="System.Int32" IdentifierEntityName="ProductSubcategory" IdentifierName="ProductSubcategoryKey" Name="ProductSubcategoryKey">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Key</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                      </TypeDescriptor>
                      <TypeDescriptor TypeName="System.String" Name="EnglishProductSubcategoryName">
                        <LocalizedDisplayNames>
                          <LocalizedDisplayName LCID="1033">Name</LocalizedDisplayName>
                        </LocalizedDisplayNames>
                        <Properties>
                          <Property Name="DisplayByDefault" Type="System.Boolean">true</Property>
                        </Properties>
                      </TypeDescriptor>
                    </TypeDescriptors>
                  </TypeDescriptor>
                </TypeDescriptors>
              </TypeDescriptor>
            </Parameter>
          </Parameters>
        </Method>
      </Methods>
    </Entity>
  </Entities>
  <Associations>
    <Association Name="ProductSubcategoryToProduct" AssociationMethodEntityName="ProductSubcategory" AssociationMethodName="GetProducts" AssociationMethodReturnParameterName="Products" AssociationMethodReturnTypeDescriptorName="ProductDataReader" AssociationMethodReturnTypeDescriptorLevel="0" IsCached="true">
      <SourceEntity Name="ProductSubcategory" />
      <DestinationEntity Name="Product" />
    </Association>
    <Association Name="ProductCategoryToProductSubcategory" AssociationMethodEntityName="ProductCategory" AssociationMethodName="GetProductSubcategories" AssociationMethodReturnParameterName="ProductSubcategories" AssociationMethodReturnTypeDescriptorName="ProductSubcategoryDataReader" AssociationMethodReturnTypeDescriptorLevel="0" IsCached="true">
      <SourceEntity Name="ProductCategory" />
      <DestinationEntity Name="ProductSubcategory" />
    </Association>
  </Associations>
</LobSystem>